ROCS: Request-Oriented Compute Sharing for Efficient Large-Scale Recommendation
ROCS:面向请求的计算共享实现大规模推荐高效推理
🧭 请求导向计算共享 · 推理加速 ★ 深度解读
Meta AI
通过GLM和DCA延迟交互并复用请求侧计算,配合IKBO内核优化,在不损失质量下最高获得3×QPS提升
📌 工作参考价值(4 点)
- 改造现有交叉网络:借鉴GLM思想,在DCNv2或FinalMLP等特征交互模块中,将输入分组为请求侧和候选侧,对线性层、MLP等施加下三角掩码,强制请求侧输出不依赖候选特征,从而可在多候选间复用。在电商排序中,每个用户请求评估数百商品,可节省大量重复计算。
- 用户序列建模引入DCA:对于用户行为序列,先用请求侧编码器一次得到各层表征,再在每层通过跨注意力进行候选条件检索,避免为每个候选重复跑序列模型。在广告推荐中,这能将序列计算复杂度从O(N×seq_len^2)降至接近O(seq_len^2)。
- 工程实现使用IKBO:在GPU推理时,不显式将请求张量广播到候选batch大小,而是通过索引映射在GEMM或注意力内核内部按需加载,并结合融合广播加法、持久化CTA和内存对齐优化。可用Triton编写定制内核,减少HBM带宽占用。
- 计算重新分配策略:节省的FLOPs可倾斜分配到请求侧(因被所有候选平摊),提升模型容量而不显著增加延迟。例如,在排序模型中,可将约80%的预算分配给请求侧,在几乎不增加推理成本的情况下提高AUC。